home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 4
/
Apprentice-Release4.iso
/
Source Code
/
Libraries
/
Apache 1.0
/
src
/
Configure
< prev
next >
Wrap
Text File
|
1995-12-04
|
2KB
|
80 lines
#! /bin/sh
# Apache configuration script, first cut --- rst.
# Dont like it? Inspired to do something better? Go for it.
file=Configuration
tmpfile=/tmp/htconf.$$
if [ "x$1" = "x-file" ] ; then
echo "Using alternate config file $2"
file=$2
else
echo "Using 'Configuration' as config file"
fi
# First, strip comments and blank lines...
sed 's/#.*//' $file | sed '/^[ ]*$/d' | sed 's/[ ]*$//' > $tmpfile
# Check for syntax errors...
if grep -v = $tmpfile | \
egrep -v '^Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$' > /dev/null
then
echo "Syntax error --- each config file command must either"
echo "set a Makefile option, or configure a module (giving a"
echo "module name and a filename). This doesn't appear to be"
echo "doing either:"
grep -v = $tmpfile | \
egrep -v '^Module[ ]+[A-Za-z0-9_]+[ ]+[^ ]+$'
rm $tmpfile
exit 1
fi
# File is OK --- make backup copies of things and then get the new ones:
if [ -f Makefile ] ; then mv Makefile Makefile.bak; fi
if [ -f modules.c ] ; then mv modules.c modules.c.bak; fi
awk >modules.c <$tmpfile '\
BEGIN { modules[n++] = "core_module" } \
/^Module/ { modules[n++] = $2 } \
END { print "/* modules.c --- automatically generated by Apache"; \
print " * configuration script. DO NOT HAND EDIT!!!!!"; \
print " */"; \
print ""; \
print "#include \"httpd.h\""; \
print "#include \"http_config.h\""; \
print ""; \
for (i = 0; i < n; ++i) { \
printf ("extern module %s;\n", modules[i]); \
} \
print ""; \
print "module *prelinked_modules[] = {"; \
for (i = 0; i < n; ++i) { \
printf " &%s,\n", modules[i]; \
} \
print " NULL"; \
print "};"; \
}'
awk >Makefile <$tmpfile '\
BEGIN { print "# Makefile automatically generated from Makefile.tmpl"; \
print "# and configuration file by Apache config script. "; \
print "# Hand-edited changes will be lost if the config script"; \
print "# is re-run."; \
} \
/^Module/ { modules[n++] = $3 } \
/\=/ { print } \
END { print "MODULES=\\"; \
for (i = 0; i < n; ++i) { \
if (i < n-1) printf (" %s \\\n", modules[i]); \
else printf (" %s\n", modules[i]); \
} \
print "" \
}'
cat Makefile.tmpl >> Makefile
rm $tmpfile